package com.ruibang.glass.quality.service;

import com.ruibang.glass.quality.domain.req.IMRControlDiagramReq;
import com.ruibang.glass.quality.domain.req.SpcProcessDataReq;
import com.ruibang.glass.quality.domain.resp.ProfilePoint;
import com.ruibang.glass.quality.domain.resp.SpcXbarAbnormalJudgment;
import com.teaming.cloud.framework2.common.model.ResultBody;

import java.math.BigDecimal;
import java.util.*;


public interface SpcService {

    ResultBody IMRAlgorithm(IMRControlDiagramReq imrControlDiagramReq);

    ResultBody capability(SpcProcessDataReq spcProcessDataReq);

    List<Integer> abnormalJudgment(List<BigDecimal> datas, SpcXbarAbnormalJudgment spcXbarAbnormalJudgments, BigDecimal ucl, BigDecimal lcl);

    int getScopeCount(int iLeft, int iRight, List<BigDecimal> data);

    ResultBody getIMRInspectionItems();

    List<ProfilePoint> drawProfilePoint(double mean, double standardDeviation);

}
